package com.gitee.l0km.aocache;

/**
 * 一个可以抛出异常的泛型调用接口，类似于{@link java.util.concurrent.Callable}但允许抛出指定类型的异常。
 *
 * @param <V> 调用返回的结果类型
 * @param <E> 调用可能抛出的异常类型
 */
interface ThrowingCallable<V,E extends Throwable> {
    /**
     * 计算结果，如果无法计算则抛出异常。
     *
     * @return 计算结果
     * @throws E 如果无法计算结果
     */
    V call() throws E;
}
